<?xml version = '1.0' encoding = 'ISO-8859-1' ?>
<asm version="1.0" name="0">
	<cp>
		<constant value="Tree2List"/>
		<constant value="links"/>
		<constant value="NTransientLinkSet;"/>
		<constant value="col"/>
		<constant value="J"/>
		<constant value="main"/>
		<constant value="A"/>
		<constant value="OclParametrizedType"/>
		<constant value="#native"/>
		<constant value="Collection"/>
		<constant value="J.setName(S):V"/>
		<constant value="OclSimpleType"/>
		<constant value="OclAny"/>
		<constant value="J.setElementType(J):V"/>
		<constant value="TransientLinkSet"/>
		<constant value="A.__matcher__():V"/>
		<constant value="A.__exec__():V"/>
		<constant value="self"/>
		<constant value="__resolve__"/>
		<constant value="1"/>
		<constant value="J.oclIsKindOf(J):B"/>
		<constant value="18"/>
		<constant value="NTransientLinkSet;.getLinkBySourceElement(S):QNTransientLink;"/>
		<constant value="J.oclIsUndefined():B"/>
		<constant value="15"/>
		<constant value="NTransientLink;.getTargetFromSource(J):J"/>
		<constant value="17"/>
		<constant value="30"/>
		<constant value="Sequence"/>
		<constant value="2"/>
		<constant value="A.__resolve__(J):J"/>
		<constant value="QJ.including(J):QJ"/>
		<constant value="QJ.flatten():QJ"/>
		<constant value="e"/>
		<constant value="value"/>
		<constant value="resolveTemp"/>
		<constant value="S"/>
		<constant value="NTransientLink;.getNamedTargetFromSource(JS):J"/>
		<constant value="name"/>
		<constant value="__matcher__"/>
		<constant value="A.__matchTreeNodeRoot2RootElement():V"/>
		<constant value="__exec__"/>
		<constant value="TreeNodeRoot2RootElement"/>
		<constant value="NTransientLinkSet;.getLinksByRule(S):QNTransientLink;"/>
		<constant value="A.__applyTreeNodeRoot2RootElement(NTransientLink;):V"/>
		<constant value="isTreeNodeRoot"/>
		<constant value="MMMTree!Node;"/>
		<constant value="0"/>
		<constant value="J.refImmediateComposite():J"/>
		<constant value="J.oclIsUndefined():J"/>
		<constant value="17:2-17:6"/>
		<constant value="17:2-17:30"/>
		<constant value="17:2-17:47"/>
		<constant value="getAllChildren"/>
		<constant value="OrderedSet"/>
		<constant value="children"/>
		<constant value="Node"/>
		<constant value="MMTree"/>
		<constant value="J.oclIsTypeOf(J):J"/>
		<constant value="J.append(J):J"/>
		<constant value="22"/>
		<constant value="J.getAllChildren():J"/>
		<constant value="J.union(J):J"/>
		<constant value="24:3-24:15"/>
		<constant value="23:2-23:6"/>
		<constant value="23:2-23:15"/>
		<constant value="25:6-25:11"/>
		<constant value="25:24-25:35"/>
		<constant value="25:6-25:36"/>
		<constant value="28:4-28:12"/>
		<constant value="28:20-28:25"/>
		<constant value="28:4-28:26"/>
		<constant value="26:4-26:12"/>
		<constant value="26:19-26:24"/>
		<constant value="26:19-26:41"/>
		<constant value="26:4-26:42"/>
		<constant value="25:3-29:8"/>
		<constant value="23:2-30:4"/>
		<constant value="child"/>
		<constant value="elements"/>
		<constant value="getLeavesInOrder"/>
		<constant value="Leaf"/>
		<constant value="B.not():B"/>
		<constant value="16"/>
		<constant value="CJ.including(J):CJ"/>
		<constant value="size"/>
		<constant value="EnumLiteral"/>
		<constant value="big"/>
		<constant value="J.=(J):J"/>
		<constant value="37"/>
		<constant value="medium"/>
		<constant value="57"/>
		<constant value="small"/>
		<constant value="78"/>
		<constant value="37:3-37:7"/>
		<constant value="37:3-37:25"/>
		<constant value="37:46-37:55"/>
		<constant value="37:68-37:79"/>
		<constant value="37:46-37:80"/>
		<constant value="37:3-37:81"/>
		<constant value="39:3-39:13"/>
		<constant value="39:29-39:33"/>
		<constant value="39:29-39:38"/>
		<constant value="39:41-39:45"/>
		<constant value="39:29-39:45"/>
		<constant value="39:3-39:46"/>
		<constant value="40:11-40:21"/>
		<constant value="40:37-40:41"/>
		<constant value="40:37-40:46"/>
		<constant value="40:49-40:56"/>
		<constant value="40:37-40:56"/>
		<constant value="40:11-40:57"/>
		<constant value="39:3-40:58"/>
		<constant value="41:11-41:21"/>
		<constant value="41:37-41:41"/>
		<constant value="41:37-41:46"/>
		<constant value="41:49-41:55"/>
		<constant value="41:37-41:55"/>
		<constant value="41:11-41:56"/>
		<constant value="39:3-41:57"/>
		<constant value="36:2-41:57"/>
		<constant value="currChild"/>
		<constant value="leaf"/>
		<constant value="leavesList"/>
		<constant value="__matchTreeNodeRoot2RootElement"/>
		<constant value="aTree"/>
		<constant value="MMOF!Classifier;.allInstancesFrom(S):QJ"/>
		<constant value="J.isTreeNodeRoot():J"/>
		<constant value="46"/>
		<constant value="TransientLink"/>
		<constant value="NTransientLink;.setRule(MATL!Rule;):V"/>
		<constant value="rt"/>
		<constant value="NTransientLink;.addSourceElement(SJ):V"/>
		<constant value="lstRt"/>
		<constant value="RootElement"/>
		<constant value="MMElementList"/>
		<constant value="NTransientLink;.addTargetElement(SJ):V"/>
		<constant value="elmLst"/>
		<constant value="J.getLeavesInOrder():J"/>
		<constant value="CommonElement"/>
		<constant value="NTransientLinkSet;.addLink2(NTransientLink;B):V"/>
		<constant value="53:21-53:23"/>
		<constant value="53:21-53:40"/>
		<constant value="55:3-58:4"/>
		<constant value="59:65-59:67"/>
		<constant value="59:65-59:86"/>
		<constant value="59:3-61:4"/>
		<constant value="__applyTreeNodeRoot2RootElement"/>
		<constant value="NTransientLink;"/>
		<constant value="NTransientLink;.getSourceElement(S):J"/>
		<constant value="NTransientLink;.getTargetElement(S):J"/>
		<constant value="3"/>
		<constant value="4"/>
		<constant value="5"/>
		<constant value="CJ.asSequence():QJ"/>
		<constant value="6"/>
		<constant value="QJ.at(I):J"/>
		<constant value="7"/>
		<constant value="49"/>
		<constant value="I.+(I):I"/>
		<constant value="56:12-56:14"/>
		<constant value="56:12-56:19"/>
		<constant value="56:4-56:19"/>
		<constant value="57:16-57:22"/>
		<constant value="57:4-57:22"/>
		<constant value="60:12-60:16"/>
		<constant value="60:12-60:21"/>
		<constant value="60:4-60:21"/>
		<constant value="collection"/>
		<constant value="counter"/>
		<constant value="link"/>
	</cp>
	<field name="1" type="2"/>
	<field name="3" type="4"/>
	<operation name="5">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<push arg="7"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="9"/>
			<call arg="10"/>
			<dup/>
			<push arg="11"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="12"/>
			<call arg="10"/>
			<call arg="13"/>
			<set arg="3"/>
			<getasm/>
			<push arg="14"/>
			<push arg="8"/>
			<new/>
			<set arg="1"/>
			<getasm/>
			<call arg="15"/>
			<getasm/>
			<call arg="16"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="17" begin="0" end="24"/>
		</localvariabletable>
	</operation>
	<operation name="18">
		<context type="6"/>
		<parameters>
			<parameter name="19" type="4"/>
		</parameters>
		<code>
			<load arg="19"/>
			<getasm/>
			<get arg="3"/>
			<call arg="20"/>
			<if arg="21"/>
			<getasm/>
			<get arg="1"/>
			<load arg="19"/>
			<call arg="22"/>
			<dup/>
			<call arg="23"/>
			<if arg="24"/>
			<load arg="19"/>
			<call arg="25"/>
			<goto arg="26"/>
			<pop/>
			<load arg="19"/>
			<goto arg="27"/>
			<push arg="28"/>
			<push arg="8"/>
			<new/>
			<load arg="19"/>
			<iterate/>
			<store arg="29"/>
			<getasm/>
			<load arg="29"/>
			<call arg="30"/>
			<call arg="31"/>
			<enditerate/>
			<call arg="32"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="2" name="33" begin="23" end="27"/>
			<lve slot="0" name="17" begin="0" end="29"/>
			<lve slot="1" name="34" begin="0" end="29"/>
		</localvariabletable>
	</operation>
	<operation name="35">
		<context type="6"/>
		<parameters>
			<parameter name="19" type="4"/>
			<parameter name="29" type="36"/>
		</parameters>
		<code>
			<getasm/>
			<get arg="1"/>
			<load arg="19"/>
			<call arg="22"/>
			<load arg="19"/>
			<load arg="29"/>
			<call arg="37"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="17" begin="0" end="6"/>
			<lve slot="1" name="34" begin="0" end="6"/>
			<lve slot="2" name="38" begin="0" end="6"/>
		</localvariabletable>
	</operation>
	<operation name="39">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<call arg="40"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="17" begin="0" end="1"/>
		</localvariabletable>
	</operation>
	<operation name="41">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<get arg="1"/>
			<push arg="42"/>
			<call arg="43"/>
			<iterate/>
			<store arg="19"/>
			<getasm/>
			<load arg="19"/>
			<call arg="44"/>
			<enditerate/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="33" begin="5" end="8"/>
			<lve slot="0" name="17" begin="0" end="9"/>
		</localvariabletable>
	</operation>
	<operation name="45">
		<context type="46"/>
		<parameters>
		</parameters>
		<code>
			<load arg="47"/>
			<call arg="48"/>
			<call arg="49"/>
		</code>
		<linenumbertable>
			<lne id="50" begin="0" end="0"/>
			<lne id="51" begin="0" end="1"/>
			<lne id="52" begin="0" end="2"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="17" begin="0" end="2"/>
		</localvariabletable>
	</operation>
	<operation name="53">
		<context type="46"/>
		<parameters>
		</parameters>
		<code>
			<push arg="54"/>
			<push arg="8"/>
			<new/>
			<store arg="19"/>
			<load arg="47"/>
			<get arg="55"/>
			<iterate/>
			<store arg="29"/>
			<load arg="29"/>
			<push arg="56"/>
			<push arg="57"/>
			<findme/>
			<call arg="58"/>
			<if arg="21"/>
			<load arg="19"/>
			<load arg="29"/>
			<call arg="59"/>
			<goto arg="60"/>
			<load arg="19"/>
			<load arg="29"/>
			<call arg="61"/>
			<call arg="62"/>
			<store arg="19"/>
			<enditerate/>
			<load arg="19"/>
		</code>
		<linenumbertable>
			<lne id="63" begin="0" end="2"/>
			<lne id="64" begin="4" end="4"/>
			<lne id="65" begin="4" end="5"/>
			<lne id="66" begin="8" end="8"/>
			<lne id="67" begin="9" end="11"/>
			<lne id="68" begin="8" end="12"/>
			<lne id="69" begin="14" end="14"/>
			<lne id="70" begin="15" end="15"/>
			<lne id="71" begin="14" end="16"/>
			<lne id="72" begin="18" end="18"/>
			<lne id="73" begin="19" end="19"/>
			<lne id="74" begin="19" end="20"/>
			<lne id="75" begin="18" end="21"/>
			<lne id="76" begin="8" end="21"/>
			<lne id="77" begin="0" end="24"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="2" name="78" begin="7" end="22"/>
			<lve slot="1" name="79" begin="3" end="24"/>
			<lve slot="0" name="17" begin="0" end="24"/>
		</localvariabletable>
	</operation>
	<operation name="80">
		<context type="46"/>
		<parameters>
		</parameters>
		<code>
			<push arg="28"/>
			<push arg="8"/>
			<new/>
			<load arg="47"/>
			<call arg="61"/>
			<iterate/>
			<store arg="19"/>
			<load arg="19"/>
			<push arg="81"/>
			<push arg="57"/>
			<findme/>
			<call arg="58"/>
			<call arg="82"/>
			<if arg="83"/>
			<load arg="19"/>
			<call arg="84"/>
			<enditerate/>
			<store arg="19"/>
			<push arg="28"/>
			<push arg="8"/>
			<new/>
			<load arg="19"/>
			<iterate/>
			<store arg="29"/>
			<load arg="29"/>
			<get arg="85"/>
			<push arg="86"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="87"/>
			<set arg="38"/>
			<call arg="88"/>
			<call arg="82"/>
			<if arg="89"/>
			<load arg="29"/>
			<call arg="84"/>
			<enditerate/>
			<push arg="28"/>
			<push arg="8"/>
			<new/>
			<load arg="19"/>
			<iterate/>
			<store arg="29"/>
			<load arg="29"/>
			<get arg="85"/>
			<push arg="86"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="90"/>
			<set arg="38"/>
			<call arg="88"/>
			<call arg="82"/>
			<if arg="91"/>
			<load arg="29"/>
			<call arg="84"/>
			<enditerate/>
			<call arg="62"/>
			<push arg="28"/>
			<push arg="8"/>
			<new/>
			<load arg="19"/>
			<iterate/>
			<store arg="29"/>
			<load arg="29"/>
			<get arg="85"/>
			<push arg="86"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="92"/>
			<set arg="38"/>
			<call arg="88"/>
			<call arg="82"/>
			<if arg="93"/>
			<load arg="29"/>
			<call arg="84"/>
			<enditerate/>
			<call arg="62"/>
		</code>
		<linenumbertable>
			<lne id="94" begin="3" end="3"/>
			<lne id="95" begin="3" end="4"/>
			<lne id="96" begin="7" end="7"/>
			<lne id="97" begin="8" end="10"/>
			<lne id="98" begin="7" end="11"/>
			<lne id="99" begin="0" end="16"/>
			<lne id="100" begin="21" end="21"/>
			<lne id="101" begin="24" end="24"/>
			<lne id="102" begin="24" end="25"/>
			<lne id="103" begin="26" end="31"/>
			<lne id="104" begin="24" end="32"/>
			<lne id="105" begin="18" end="37"/>
			<lne id="106" begin="41" end="41"/>
			<lne id="107" begin="44" end="44"/>
			<lne id="108" begin="44" end="45"/>
			<lne id="109" begin="46" end="51"/>
			<lne id="110" begin="44" end="52"/>
			<lne id="111" begin="38" end="57"/>
			<lne id="112" begin="18" end="58"/>
			<lne id="113" begin="62" end="62"/>
			<lne id="114" begin="65" end="65"/>
			<lne id="115" begin="65" end="66"/>
			<lne id="116" begin="67" end="72"/>
			<lne id="117" begin="65" end="73"/>
			<lne id="118" begin="59" end="78"/>
			<lne id="119" begin="18" end="79"/>
			<lne id="120" begin="0" end="79"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="121" begin="6" end="15"/>
			<lve slot="2" name="122" begin="23" end="36"/>
			<lve slot="2" name="122" begin="43" end="56"/>
			<lve slot="2" name="122" begin="64" end="77"/>
			<lve slot="1" name="123" begin="17" end="79"/>
			<lve slot="0" name="17" begin="0" end="79"/>
		</localvariabletable>
	</operation>
	<operation name="124">
		<context type="6"/>
		<parameters>
		</parameters>
		<code>
			<push arg="56"/>
			<push arg="57"/>
			<findme/>
			<push arg="125"/>
			<call arg="126"/>
			<iterate/>
			<store arg="19"/>
			<load arg="19"/>
			<call arg="127"/>
			<call arg="82"/>
			<if arg="128"/>
			<getasm/>
			<get arg="1"/>
			<push arg="129"/>
			<push arg="8"/>
			<new/>
			<dup/>
			<push arg="42"/>
			<call arg="130"/>
			<dup/>
			<push arg="131"/>
			<load arg="19"/>
			<call arg="132"/>
			<dup/>
			<push arg="133"/>
			<push arg="134"/>
			<push arg="135"/>
			<new/>
			<call arg="136"/>
			<dup/>
			<push arg="137"/>
			<push arg="28"/>
			<push arg="8"/>
			<new/>
			<load arg="19"/>
			<call arg="138"/>
			<iterate/>
			<pop/>
			<push arg="139"/>
			<push arg="135"/>
			<new/>
			<call arg="84"/>
			<enditerate/>
			<call arg="136"/>
			<pusht/>
			<call arg="140"/>
			<enditerate/>
		</code>
		<linenumbertable>
			<lne id="141" begin="7" end="7"/>
			<lne id="142" begin="7" end="8"/>
			<lne id="143" begin="23" end="28"/>
			<lne id="144" begin="34" end="34"/>
			<lne id="145" begin="34" end="35"/>
			<lne id="146" begin="29" end="43"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="131" begin="6" end="45"/>
			<lve slot="0" name="17" begin="0" end="46"/>
		</localvariabletable>
	</operation>
	<operation name="147">
		<context type="6"/>
		<parameters>
			<parameter name="19" type="148"/>
		</parameters>
		<code>
			<load arg="19"/>
			<push arg="131"/>
			<call arg="149"/>
			<store arg="29"/>
			<load arg="19"/>
			<push arg="133"/>
			<call arg="150"/>
			<store arg="151"/>
			<load arg="19"/>
			<push arg="137"/>
			<call arg="150"/>
			<store arg="152"/>
			<load arg="151"/>
			<dup/>
			<getasm/>
			<load arg="29"/>
			<get arg="38"/>
			<call arg="30"/>
			<set arg="38"/>
			<dup/>
			<getasm/>
			<load arg="152"/>
			<call arg="30"/>
			<set arg="79"/>
			<pop/>
			<pushi arg="19"/>
			<store arg="153"/>
			<load arg="29"/>
			<call arg="138"/>
			<call arg="154"/>
			<store arg="155"/>
			<load arg="152"/>
			<iterate/>
			<load arg="155"/>
			<load arg="153"/>
			<call arg="156"/>
			<store arg="157"/>
			<dup/>
			<getasm/>
			<load arg="157"/>
			<get arg="38"/>
			<dup/>
			<getasm/>
			<get arg="3"/>
			<call arg="20"/>
			<call arg="82"/>
			<if arg="158"/>
			<load arg="153"/>
			<call arg="156"/>
			<call arg="30"/>
			<set arg="38"/>
			<pop/>
			<load arg="153"/>
			<pushi arg="19"/>
			<call arg="159"/>
			<store arg="153"/>
			<enditerate/>
		</code>
		<linenumbertable>
			<lne id="160" begin="15" end="15"/>
			<lne id="161" begin="15" end="16"/>
			<lne id="162" begin="13" end="18"/>
			<lne id="163" begin="21" end="21"/>
			<lne id="164" begin="19" end="23"/>
			<lne id="143" begin="12" end="24"/>
			<lne id="144" begin="27" end="27"/>
			<lne id="145" begin="27" end="28"/>
			<lne id="165" begin="39" end="39"/>
			<lne id="166" begin="39" end="40"/>
			<lne id="167" begin="37" end="50"/>
			<lne id="146" begin="25" end="56"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="7" name="122" begin="36" end="50"/>
			<lve slot="6" name="168" begin="30" end="56"/>
			<lve slot="5" name="169" begin="26" end="56"/>
			<lve slot="3" name="133" begin="7" end="56"/>
			<lve slot="4" name="137" begin="11" end="56"/>
			<lve slot="2" name="131" begin="3" end="56"/>
			<lve slot="0" name="17" begin="0" end="56"/>
			<lve slot="1" name="170" begin="0" end="56"/>
		</localvariabletable>
	</operation>
</asm>
